#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#include<string.h>
double swap(char* p)
{
	int arr[99];
	char* t = p;
	int n = 0;
	int count = 0;
	while (*p != '\0')
	{
		if (*p <= '9' && *p >= '0')
		{
			arr[n++] = *p - '0';
			count++;
			p++;
		}
		else
		{
			p==NULL;
			return 0;
		}
	}
	if (*p == '\0')
	{
		double sum = 0;
		for (int i = 0; i < count; i++)
		{
			sum += arr[i] * pow(10, (count - i - 1));
		}
		p=NULL;
		return sum;
	}
}
int main()
{
	char a[999];
	scanf("%s ", a);
	char b[999];
	gets(b);
	double x, y;
	x = swap(a);
	y = swap(b);
	if (x == 0 && y == 0)
	{
		printf("? + ? = ?");
	}
	else if (x == 0 && y != 0)
	{
		printf("? + %.0lf = ?", y);
	}
	else if (x != 0 && y == 0)
	{
		printf("%.0lf + ? = ?", x);
	}
	else
	{
		printf("%.0lf + %.0lf = %.0lf", x, y, x + y);
	}
	return 0;
}
